Пульт.Онлайн /

Переменная статуса

SCADA Пульт.Онлайн позволяет отображать статус узлов и экранов по значению указанной переменной. Имя переменной, значение которой будет использоваться для отображения статуса, указывается в свойствах прототипа (Переменная статуса) и мнемосхемы (Статус | Узел, Переменная).

Значения переменной интерпретируются следующим образом:

0 - офлайн (серый цвет)
1 - онлайн (голубой цвет)
2 - работа (зеленый цвет)
3 - предупреждение (оранжевый цвет)
4 - авария (красный цвет)
5 - сервис (фиолетовый цвет)

В качестве переменной используйте виртуальную переменную с выражением вида:

status($online,$work,$warning,$alarm,$service)

Здесь аргументами функции status() являются пять переменных, ненулевые значения которых будут интерпретированы функцией status() в соответствующий код статуса (0-5). Имена переменных могут быть произвольными, важен их порядок в списке аргументов. Если какой-то статус неприменим к узлу, соответствующую ему переменную можно заменить нулем или опустить, например:

status($online); - индикация только онлайн/офлайн статуса
status($online,0,$warning); - только онлайн/офлайн/предупреждение
status($online,0,0,$alarm); - только онлайн/офлайн/авария

Значение параметра Недостоверно у статусной переменной необходимо установить в значение Ноль. Это обеспечит корректную обработку выражения, без возникновения ошибки DRV_ERROR_UNRELIABLE_VAR при ошибке в одной или нескольких наблюдаемых переменных.

Если узел находится за шлюзом (или на шлюзе) переменная статуса должна быть размещена локально (т.е. на стороне сервера). Для этого необходимо принудительно установить свойство Размещение = Локально.


Рассмотрим использование переменной статуса на примере проекта Приточная вентиляция на демосервере

  1. Создадим виртуальную переменную status в прототипе Вентсистема

  2. В свойствах переменной status в поле Режим / Данные выберем Выражение (значением переменной будет результат вычисления математического выражения), в поле Недостоверно укажем Ноль (при наличии в выражении недостоверных переменных, их значение берется равным нулю, выражение рассчитывается без генерации ошибки), в поле Разное / Размещение выберем Локально (переменная продолжит работать при отключении шлюза и сможет индицировать статус "Офлайн").

  3. Используем для составления выражения следующие переменные прототипа (в вашем случае набор переменных может быть другим):

    • Онлайн узла: metric_up - стандартная метрическая переменная узла, при 1 - узел на связи

    • Работа узла: fan_on - переменная, отвечающая за режим работы вентилятора системы, при 1 - вентилятор включен, при 0 - выключен

    • Предупреждение: warning_sum - переменная типа Сводная тревога, принимает в качестве сигнала все тревоги узла, удовлетворяющие фильтрам класса Предупреждение . Сводная тревога активируется при активации хотя бы одной из наблюдаемых тревог и нормализуется только при нормализации всех наблюдаемых тревог класса Предупреждение.

    • Авария: alarm_sum - переменная типа Сводная тревога, принимает в качестве сигнала все тревоги узла, удовлетворяющие фильтрам класса Авария. Сводная тревога активируется при активации хотя бы одной из наблюдаемых тревог и нормализуется только при нормализации всех наблюдаемых тревог класса Авария.

    • Сервис: service - переменная, указывающая, находится ли оборудование узла на сервисном обслуживании или нет (1 или 0)

  4. Выражение переменной status запишется так: status($metric_up,$fan_on,$warning_sum,$alarm_sum,$service)

  5. В комментарии в свойствах переменной можно указать - Статус работы (0-не на связи,1-на связи,2-работа,3-есть предупреждения,4-есть тревога,5-сервис)

  6. Для индикации статуса узла: в свойствах прототипа Вентсистема в поле Переменная статуса укажем имя нашей статусной переменной: status (без символа $)

  7. Для индикации статуса экрана: в свойствах мнемосхемы Вентсистема десктоп в поле Статус / Узел укажем узел (определенный в параметрах мнемосхемы), в котором будет находится статусная переменная: node, а в поле Статус / Переменная - имя статусной переменной: status.

  8. Сохраним и соберем проекты.

Теперь узлы, созданные на основе прототипа Вентсистема и экраны, на основе мнемосхемы Вентсистема десктоп, будут отображаться в соответствии со значением переменной status:

Вентсистемы ЩУВ1 и ЩУВ2 на связи и в работе (значение переменной status равно 2), а вентситема ЩУВ3 - на связи и выключена (значение переменной status равно 0). Аналогичная индикация применяется и к экранам вентсистем.


Пример на WebSCADA.ru

  1. В прототипе Вентсистема заведена и выбрана в качестве статуса узла виртуальная переменная status

  2. В мнемосхеме Вентсистема десктоп переменная status указана в разделе свойств Статус.

  3. Индикация узлов и экранов отображается в проекте Приточная вентиляция.

  Email
  SMS